package com.accp.dao;

import java.util.List;
import com.accp.pojo.Email;

public interface EmailDao extends BaseDao {
	/**
	 * 添加邮件（发送）
	 * @param email
	 * @return
	 */
	public boolean add(Email email);							
	/**
	 * 删除邮件到垃圾箱
	 * @param email
	 * @return
	 */
	public boolean delete(Email email);							
	/**
	 * 彻底删除邮件
	 * @param email
	 * @return
	 */
	public boolean deleteReal(Email email);						
	/**
	 * 删除某个用户的全部邮件
	 * @param userName
	 * @return
	 */
	public boolean deleteAllByUser(String userName);			
	/**
	 * 还原邮件
	 * @param email
	 * @return
	 */
	public boolean updateIsDeleted(Email email);				
	/**
	 * 修改邮件的阅读状态
	 * @param email
	 * @return
	 */
	public boolean updateIsRead(Email email);					
	/**
	 * 查询收件箱列表
	 * @param userName
	 * @return
	 */
	public List<Email> findByUserName(String userName);			
	/**
	 * 查询垃圾邮件列表
	 * @param userName
	 * @return
	 */
	public List<Email> spamList(String userName);				
	/**
	 * 根据id查询单个邮件的详细信息
	 * @param id
	 * @return
	 */
	public Email findById(Integer id);							
	/**
	 * 查询收件人列表
	 * @return
	 */
	public List<String> recipientsList();						
	/**
	 * 分页查看，获取总记录数
	 * @param className
	 * @param userName
	 * @return
	 */
	public int totalPage(String className,String userName);		
	/**
	 * 分页查看，查看每页记录
	 * @param className
	 * @param pageNo
	 * @param pageSize
	 * @param userName
	 * @return
	 */
	public List<Email> selectByPage(String className, int pageNo, int pageSize,String userName);
}
